package com.smart.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.smart.common.annotation.Excel;
import com.smart.common.core.domain.BaseEntity;
import org.checkerframework.checker.formatter.qual.Format;

/**
 * 车辆对象 car
 * 
 * @author smart
 * @date 2024-09-18
 */
@Data
@Builder
@TableName("car")
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class Car extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id 主键 */
    @Schema(description ="${comment}")
    @TableField(value = "id",exist = true)
    @TableId(type = IdType.AUTO)
    private Integer id;

    /** 部门号 */
    @Excel(name = "部门号")
    @Schema(description ="部门号")
    @TableField(value = "dept_id",exist = true)
    private String deptId;
    @TableField(exist = false)
    private String deptName;

    /** 汽车编号 */
    @Excel(name = "汽车编号")
    @Schema(description ="汽车编号")
    @TableField(value = "car_number",exist = true)
    private String carNumber;

    /** 车辆图片 */
    @Excel(name = "车辆图片")
    @Schema(description ="车辆图片")
    @TableField(value = "image_url",exist = true)
    private String imageUrl;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    @Schema(description ="车牌号码")
    @TableField(value = "licence_plate",exist = true)
    private String licencePlate;

    /** 车辆名称 */
    @Excel(name = "车辆名称")
    @Schema(description ="车辆名称")
    @TableField(value = "name",exist = true)
    private String name;

    /** 车辆分类 */
    @Schema(description ="车辆分类Id")
    @TableField(value = "classify",exist = true)
    private String classify;

    /** 驾驶人电话 */
    @Schema(description ="车辆分类名称")
    @TableField(exist = false)
    private String classifyName;


    /** 驾驶人 */
    @Excel(name = "驾驶人")
    @Schema(description ="驾驶人Id")
    @TableField(value = "driver_id",exist = true)
    private String driverId;

    /** 驾驶人电话 */
    @Excel(name = "驾驶人电话")
    @Schema(description ="驾驶人电话")
    @TableField(exist = false)
    private String driverPhone;

    /** 驾驶人电话 */
    @Excel(name = "驾驶人名称")
    @Schema(description ="驾驶人名称")
    @TableField(exist = false)
    private String driverName;

    /** 乐观锁 */
    @Excel(name = "乐观锁")
    @Schema(description ="乐观锁")
    @TableField(value = "revision",exist = true)
    private String revision;

    /** 是否删除;0正常1删除 */
    @Schema(description ="乐观锁")
    @TableField(value = "del_flag",exist = true)
    private String delFlag;

    @Schema(description = "是否在线")
    @TableField(value = "online",exist = true)
    private Integer online;

    /** 是否启用;0正常1冻结2空闲3维修 */
    @Excel(name = "是否启用;0正常1冻结2空闲3维修")
    @Schema(description ="是否启用;0正常1冻结2休息3维修")
    @TableField(value = "status",exist = true)
    private String status;

    @Schema(description ="是否勾选 0勾选1未勾选(回显参数,勿传)")
    @TableField(exist = false)
    private Integer isChecked;

    @Schema(description ="定位对象")
    @TableField(exist = false)
    private CarTrajectory carTrajectory;

    @Schema(description ="是否存在摄像头0不存在1存在")
    @TableField(value = "is_camera",exist = true)
    private Integer isCamera;
}
